package HomeWork;

import java.util.Enumeration;
import java.util.Scanner;

/*
某幼儿园小班开学共入学5名小朋友，现在班主任老师要对各位小朋友的年龄进行登记，并计算出本班学生的平均年
龄。（注意：班级平均年龄 = 班级学员年龄总和 / 班级人数）
请编写程序模拟以上场景，要求定义两个方法分别完成小朋友年龄登记和小朋友年龄求和，并在主方法中完成方法的
调用，并根据公式计算出班级平均年龄，将结果输出打印到控制台。
注意：幼儿园小朋友的年龄应该是在[3，5]岁范围内，如果班主任不小心登记错了，要提醒重新登记。
 */
public class Strengthen01 {
    public static void main(String[] args) {
        //创建小朋友年龄数组
        int[] age = new int[getNum()];//通过getNum确定数组大小

        register(age);//登记小朋友年龄
        print(age);//打印小朋友年龄

        System.out.println("小朋友平均年龄为：" + getSum(age)/(double)age.length +"岁。");//输出小朋友平均年龄


    }

    //确定入园小朋友人数
    public static int getNum(){
        Scanner sc = new Scanner(System.in);
        int num;//人数参数
        do{
            System.out.println("请输入入园小朋友人数：");
            num = sc.nextInt();//录入小朋友人数
            if(num > 0){
                break;
            }else{
                System.out.println("录入数据错误，请重新输入");
                System.out.println("--------------------------");
            }
        }while(true);//若人数大于0则结束循环
        return num;
    }

    //登记小朋友年龄
    public static void register(int[] arr){
        Scanner sc = new Scanner(System.in);
        for(int i = 0; i < arr.length; i++){
            do{
                System.out.println("请输入第"+(i+1)+"位小朋友的年龄【3-5】：");
                arr[i] = sc.nextInt();//录入小朋友年龄
                if(arr[i] > 2 && arr[i] <6){//幼儿园小朋友的年龄应该是在[3，5]岁范围内
                    break;
                }else{
                    System.out.println("录入年龄错误，请重新输入：");
                    System.out.println("--------------------------");
                }
            }while(true);
        }
    }

    //小朋友年龄求和
    public static int getSum(int[] arr){
        int sum = 0;
        for(int i = 0; i < arr.length; i++){
            sum += arr[i];
        }
        return sum;
    }

    //遍历数组
    public static void print(int[] arr){
        for(int i = 0; i < arr.length; i++){
            System.out.print(arr[i] + " ");//输出数组
        }
        System.out.println();
    }
}
